
<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module hydrogens</title>
<style type="text/css"><!--
TT { font-family: lucidatypewriter, lucida console, courier }
--></style></head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>hydrogens</strong></big></big> (8 March 2004)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/todd/release/pdb2pqr/hydrogens.py">/home/todd/release/pdb2pqr/hydrogens.py</a></font></td></tr></table>
    <p><tt>Hydrogen&nbsp;optimization&nbsp;routines&nbsp;for&nbsp;PDB2PQR<br>
&nbsp;<br>
This&nbsp;module&nbsp;contains&nbsp;the&nbsp;hydrogen&nbsp;optimization&nbsp;routines&nbsp;and&nbsp;classes&nbsp;for<br>
PDB2PQR.&nbsp;&nbsp;It&nbsp;is&nbsp;(optionally)&nbsp;used&nbsp;to&nbsp;check&nbsp;protonation&nbsp;states&nbsp;and<br>
improve&nbsp;hydrogen&nbsp;networks&nbsp;within&nbsp;a&nbsp;protein.<br>
&nbsp;<br>
Based&nbsp;on&nbsp;C&nbsp;code&nbsp;from&nbsp;Jens&nbsp;Erik&nbsp;Nielsen<br>
UCSD/HHMI<br>
&nbsp;<br>
Ported&nbsp;to&nbsp;Python&nbsp;by&nbsp;Todd&nbsp;Dolinsky&nbsp;(todd@ccb.wustl.edu)<br>
Washington&nbsp;University&nbsp;in&nbsp;St.&nbsp;Louis</tt></p>

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="getopt.html">getopt</a><br>
<a href="math.html">math</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
<a href="string.html">string</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="hydrogens.html#HydrogenConformation">HydrogenConformation</a>
</font></dt><dt><font face="helvetica, arial"><a href="hydrogens.html#HydrogenDefinition">HydrogenDefinition</a>
</font></dt><dt><font face="helvetica, arial"><a href="hydrogens.html#hydrogenAmbiguity">hydrogenAmbiguity</a>
</font></dt><dt><font face="helvetica, arial"><a href="hydrogens.html#hydrogenRoutines">hydrogenRoutines</a>
</font></dt></dl>
 
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="HydrogenConformation">class <strong>HydrogenConformation</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt><a href="#HydrogenConformation">HydrogenConformation</a>&nbsp;class<br>
&nbsp;<br>
The&nbsp;<a href="#HydrogenConformation">HydrogenConformation</a>&nbsp;class&nbsp;contains&nbsp;data&nbsp;about&nbsp;possible<br>
hydrogen&nbsp;conformations&nbsp;as&nbsp;specified&nbsp;in&nbsp;the&nbsp;hydrogen&nbsp;data&nbsp;file.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="HydrogenConformation-__init__"><strong>__init__</strong></a>(self, hname, boundatom, bondlength)</dt><dd><tt>Initialize&nbsp;the&nbsp;object<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;hname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;The&nbsp;hydrogen&nbsp;name&nbsp;(string)<br>
&nbsp;&nbsp;&nbsp;&nbsp;boundatom&nbsp;&nbsp;:&nbsp;The&nbsp;atom&nbsp;the&nbsp;hydrogen&nbsp;is&nbsp;bound&nbsp;to&nbsp;(string)<br>
&nbsp;&nbsp;&nbsp;&nbsp;bondlength&nbsp;:&nbsp;The&nbsp;bond&nbsp;length&nbsp;(float)</tt></dd></dl>

<dl><dt><a name="HydrogenConformation-__str__"><strong>__str__</strong></a>(self)</dt><dd><tt>Used&nbsp;for&nbsp;debugging&nbsp;purposes<br>
&nbsp;<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;output:&nbsp;&nbsp;Information&nbsp;about&nbsp;this&nbsp;conformation&nbsp;(string)</tt></dd></dl>

<dl><dt><a name="HydrogenConformation-addAtom"><strong>addAtom</strong></a>(self, atom)</dt><dd><tt>Add&nbsp;an&nbsp;atom&nbsp;to&nbsp;the&nbsp;list&nbsp;of&nbsp;atoms<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;atom:&nbsp;The&nbsp;atom&nbsp;to&nbsp;be&nbsp;added&nbsp;(DefinitionAtom)</tt></dd></dl>

<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__doc__</strong> = '<font color="#c040c0">\n</font>        HydrogenConformation class<font color="#c040c0">\n\n</font>        The...ions as specified in the hydrogen data file.<font color="#c040c0">\n</font>    '</dl>

<dl><dt><strong>__module__</strong> = 'hydrogens'</dl>

</td></tr></table> 
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="HydrogenDefinition">class <strong>HydrogenDefinition</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt><a href="#HydrogenDefinition">HydrogenDefinition</a>&nbsp;class<br>
&nbsp;<br>
The&nbsp;<a href="#HydrogenDefinition">HydrogenDefinition</a>&nbsp;class&nbsp;provides&nbsp;information&nbsp;on&nbsp;possible<br>
ambiguities&nbsp;in&nbsp;amino&nbsp;acid&nbsp;hydrogens.&nbsp;&nbsp;It&nbsp;is&nbsp;essentially&nbsp;the&nbsp;hydrogen<br>
definition&nbsp;file&nbsp;in&nbsp;object&nbsp;form.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="HydrogenDefinition-__init__"><strong>__init__</strong></a>(self, name, group, numhydrogens, standardconf, type, chiangle, method)</dt><dd><tt>Initialize&nbsp;the&nbsp;object&nbsp;with&nbsp;information&nbsp;from&nbsp;the&nbsp;definition&nbsp;file<br>
&nbsp;<br>
Parameters:<br>
&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;grouping&nbsp;(string)<br>
&nbsp;&nbsp;&nbsp;&nbsp;group:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;group&nbsp;of&nbsp;the&nbsp;definition<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(acid/base/none,&nbsp;string)<br>
&nbsp;&nbsp;&nbsp;&nbsp;numhydrogens:&nbsp;&nbsp;The&nbsp;number&nbsp;of&nbsp;hydrogens&nbsp;that&nbsp;can&nbsp;be&nbsp;added&nbsp;(int)<br>
&nbsp;&nbsp;&nbsp;&nbsp;standardconf:&nbsp;&nbsp;The&nbsp;number&nbsp;of&nbsp;standard&nbsp;conformations&nbsp;(int)<br>
&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;Type&nbsp;of&nbsp;Hydrogen&nbsp;(int)<br>
&nbsp;&nbsp;&nbsp;&nbsp;chiangle&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;The&nbsp;chiangle&nbsp;to&nbsp;be&nbsp;changed&nbsp;(int)<br>
&nbsp;&nbsp;&nbsp;&nbsp;method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;The&nbsp;standard&nbsp;optimization&nbsp;method&nbsp;(int)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;HYDROGENS.DAT&nbsp;for&nbsp;more&nbsp;information</tt></dd></dl>

<dl><dt><a name="HydrogenDefinition-__str__"><strong>__str__</strong></a>(self)</dt><dd><tt>Used&nbsp;for&nbsp;debugging&nbsp;purposes<br>
&nbsp;<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;output:&nbsp;&nbsp;The&nbsp;information&nbsp;about&nbsp;this&nbsp;definition&nbsp;(string)</tt></dd></dl>

<dl><dt><a name="HydrogenDefinition-addConf"><strong>addConf</strong></a>(self, conf)</dt><dd><tt>Add&nbsp;a&nbsp;<a href="#HydrogenConformation">HydrogenConformation</a>&nbsp;to&nbsp;the&nbsp;list&nbsp;of&nbsp;conformations<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;conf:&nbsp;&nbsp;The&nbsp;conformation&nbsp;to&nbsp;be&nbsp;added&nbsp;(<a href="#HydrogenConformation">HydrogenConformation</a>)</tt></dd></dl>

<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__doc__</strong> = '<font color="#c040c0">\n</font>        HydrogenDefinition class<font color="#c040c0">\n\n</font>        The H...ogen<font color="#c040c0">\n</font>        definition file in object form.<font color="#c040c0">\n</font>    '</dl>

<dl><dt><strong>__module__</strong> = 'hydrogens'</dl>

</td></tr></table> 
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="hydrogenAmbiguity">class <strong>hydrogenAmbiguity</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;class&nbsp;containing&nbsp;information&nbsp;about&nbsp;the&nbsp;ambiguity<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="hydrogenAmbiguity-__init__"><strong>__init__</strong></a>(self, residue, hdef)</dt><dd><tt>Initialize&nbsp;the&nbsp;class<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;residue:&nbsp;&nbsp;The&nbsp;residue&nbsp;in&nbsp;question&nbsp;(residue)<br>
&nbsp;&nbsp;&nbsp;&nbsp;hdef:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;hydrogen&nbsp;definition&nbsp;matching&nbsp;the&nbsp;residue</tt></dd></dl>

<dl><dt><a name="hydrogenAmbiguity-setNearatoms"><strong>setNearatoms</strong></a>(self, allatoms)</dt><dd><tt>Set&nbsp;the&nbsp;nearby&nbsp;atoms&nbsp;to&nbsp;this&nbsp;residue.&nbsp;&nbsp;The&nbsp;only&nbsp;donors/acceptors<br>
that&nbsp;will&nbsp;be&nbsp;changing&nbsp;positions&nbsp;are&nbsp;the&nbsp;flips,&nbsp;with&nbsp;maximum&nbsp;change<br>
of&nbsp;2.5&nbsp;A.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;allatoms:&nbsp;&nbsp;A&nbsp;list&nbsp;of&nbsp;all&nbsp;donors/acceptors&nbsp;(list)</tt></dd></dl>

<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__doc__</strong> = '<font color="#c040c0">\n</font>        A class containing information about the ambiguity<font color="#c040c0">\n</font>    '</dl>

<dl><dt><strong>__module__</strong> = 'hydrogens'</dl>

</td></tr></table> 
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="hydrogenRoutines">class <strong>hydrogenRoutines</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>The&nbsp;main&nbsp;class&nbsp;of&nbsp;routines&nbsp;in&nbsp;the&nbsp;hydrogen&nbsp;optimization&nbsp;process.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="hydrogenRoutines-__init__"><strong>__init__</strong></a>(self, routines)</dt><dd><tt>Initialize&nbsp;the&nbsp;routines&nbsp;and&nbsp;run&nbsp;the&nbsp;hydrogen&nbsp;optimization<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;routines:&nbsp;&nbsp;The&nbsp;parent&nbsp;routines&nbsp;object&nbsp;(Routines)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-debug"><strong>debug</strong></a>(self, text)</dt><dd><tt>Print&nbsp;text&nbsp;to&nbsp;stdout&nbsp;for&nbsp;debugging&nbsp;purposes.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;text:&nbsp;&nbsp;The&nbsp;text&nbsp;to&nbsp;output&nbsp;(string)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-findAmbiguities"><strong>findAmbiguities</strong></a>(self, water)</dt><dd><tt>Find&nbsp;the&nbsp;amibiguities&nbsp;within&nbsp;a&nbsp;protein&nbsp;according&nbsp;to&nbsp;the<br>
DAT&nbsp;file,&nbsp;and&nbsp;set&nbsp;all&nbsp;boundatoms&nbsp;to&nbsp;their&nbsp;hydrogen&nbsp;donor/<br>
acceptor&nbsp;state.&nbsp;&nbsp;Store&nbsp;the&nbsp;ambiguities&nbsp;as&nbsp;(residue,&nbsp;hydrodef)<br>
tuples&nbsp;in&nbsp;self.<strong>groups</strong>.<br>
&nbsp;<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;allatoms:&nbsp;&nbsp;A&nbsp;list&nbsp;of&nbsp;all&nbsp;donors&nbsp;and&nbsp;acceptors&nbsp;in&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protein&nbsp;(list)<br>
&nbsp;&nbsp;&nbsp;&nbsp;water:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;1,&nbsp;only&nbsp;put&nbsp;waters&nbsp;in&nbsp;groups,&nbsp;but&nbsp;fill&nbsp;allatoms<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;appropriately</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-findNetworks"><strong>findNetworks</strong></a>(self, limit)</dt><dd><tt>Find&nbsp;hydrogen&nbsp;networks&nbsp;that&nbsp;should&nbsp;be&nbsp;optimized&nbsp;together.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;limit:&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;limit&nbsp;to&nbsp;see&nbsp;how&nbsp;close&nbsp;two&nbsp;boundatoms&nbsp;are<br>
&nbsp;<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;networks:&nbsp;A&nbsp;list&nbsp;of&nbsp;group&nbsp;ID&nbsp;networks&nbsp;(list)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-findViableAngles"><strong>findViableAngles</strong></a>(self, residue, nearatoms)</dt><dd><tt>Find&nbsp;the&nbsp;viable&nbsp;angles&nbsp;that&nbsp;a&nbsp;water&nbsp;molecule&nbsp;can&nbsp;be&nbsp;rotated&nbsp;to.<br>
If&nbsp;there&nbsp;are&nbsp;no&nbsp;donor/acceptor&nbsp;atoms&nbsp;within&nbsp;<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;residue:&nbsp;&nbsp;&nbsp;The&nbsp;water&nbsp;residue&nbsp;to&nbsp;examine<br>
&nbsp;&nbsp;&nbsp;&nbsp;nearatoms:&nbsp;A&nbsp;list&nbsp;of&nbsp;nearby&nbsp;donor/acceptors<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;angle:&nbsp;&nbsp;&nbsp;A&nbsp;list&nbsp;of&nbsp;viable&nbsp;angles</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-getHbondEnergy"><strong>getHbondEnergy</strong></a>(self, amb)</dt></dl>

<dl><dt><a name="hydrogenRoutines-getHbondEnergy2"><strong>getHbondEnergy2</strong></a>(self, clusteratoms, compatoms, res<font color="#909090">=None</font>)</dt><dd><tt>Get&nbsp;the&nbsp;hydrogen&nbsp;bond&nbsp;energy&nbsp;for&nbsp;a&nbsp;cluster&nbsp;of&nbsp;donors<br>
and&nbsp;acceptors.&nbsp;If&nbsp;res&nbsp;is&nbsp;not&nbsp;present,&nbsp;compare&nbsp;each&nbsp;atom<br>
in&nbsp;clusteratoms&nbsp;to&nbsp;all&nbsp;nearby&nbsp;atoms&nbsp;in&nbsp;compatoms.&nbsp;&nbsp;If&nbsp;res&nbsp;is<br>
present,&nbsp;we&nbsp;are&nbsp;trying&nbsp;to&nbsp;find&nbsp;the&nbsp;new&nbsp;energy&nbsp;of&nbsp;the&nbsp;residue<br>
res&nbsp;that&nbsp;has&nbsp;just&nbsp;switched&nbsp;states,&nbsp;and&nbsp;thus&nbsp;need&nbsp;to&nbsp;include<br>
all&nbsp;comparisons&nbsp;where&nbsp;atoms&nbsp;within&nbsp;the&nbsp;residue&nbsp;is&nbsp;an<br>
acceptor.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;clusteratoms:&nbsp;A&nbsp;list&nbsp;of&nbsp;hydrogen&nbsp;donor/acceptor&nbsp;atoms&nbsp;in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;cluster(list)<br>
&nbsp;&nbsp;&nbsp;&nbsp;compatoms:&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;list&nbsp;of&nbsp;all&nbsp;hydrogen&nbsp;donor/acceptor<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;atoms&nbsp;within&nbsp;a&nbsp;given&nbsp;distance&nbsp;of&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cluster&nbsp;(list)<br>
&nbsp;&nbsp;&nbsp;&nbsp;res:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Optional)&nbsp;Residue&nbsp;to&nbsp;get&nbsp;the&nbsp;energy&nbsp;of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Residue)<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;energy:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;energy&nbsp;of&nbsp;this&nbsp;hydrogen&nbsp;bond&nbsp;network<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(float)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-getHbondangle"><strong>getHbondangle</strong></a>(self, atom1, atom2, atom3)</dt><dd><tt>Get&nbsp;the&nbsp;angle&nbsp;between&nbsp;three&nbsp;atoms<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;atom1:&nbsp;&nbsp;The&nbsp;first&nbsp;atom&nbsp;(atom)<br>
&nbsp;&nbsp;&nbsp;&nbsp;atom2:&nbsp;&nbsp;The&nbsp;second&nbsp;(vertex)&nbsp;atom&nbsp;(atom)<br>
&nbsp;&nbsp;&nbsp;&nbsp;atom3:&nbsp;&nbsp;The&nbsp;third&nbsp;atom&nbsp;(atom)<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;angle:&nbsp;&nbsp;The&nbsp;angle&nbsp;between&nbsp;the&nbsp;atoms&nbsp;(float)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-getPairEnergy"><strong>getPairEnergy</strong></a>(self, donor, acceptor)</dt><dd><tt>Get&nbsp;the&nbsp;energy&nbsp;between&nbsp;two&nbsp;atoms<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;donor:&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;first&nbsp;atom&nbsp;in&nbsp;the&nbsp;pair&nbsp;(Atom)<br>
&nbsp;&nbsp;&nbsp;&nbsp;acceptor:&nbsp;The&nbsp;second&nbsp;atom&nbsp;in&nbsp;the&nbsp;pair&nbsp;(Atom)<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;energy:&nbsp;&nbsp;&nbsp;The&nbsp;energy&nbsp;of&nbsp;the&nbsp;pair&nbsp;(float)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-getPenalty"><strong>getPenalty</strong></a>(self, residue)</dt><dd><tt>Add&nbsp;penalties&nbsp;for&nbsp;unusual&nbsp;protonation&nbsp;states.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;atom:&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;residue&nbsp;to&nbsp;examine&nbsp;(Atom)<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;penalty:&nbsp;The&nbsp;amount&nbsp;of&nbsp;the&nbsp;penalty&nbsp;(float)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-getstates"><strong>getstates</strong></a>(self, amb)</dt><dd><tt>Get&nbsp;all&nbsp;possible&nbsp;states&nbsp;for&nbsp;a&nbsp;conformation/protonation<br>
ambiguity&nbsp;and&nbsp;store&nbsp;them&nbsp;in&nbsp;a&nbsp;list.&nbsp;Each.<br>
hydrogen&nbsp;type&nbsp;must&nbsp;be&nbsp;explicitly&nbsp;defined.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;amb&nbsp;&nbsp;&nbsp;:&nbsp;The&nbsp;ambiguity&nbsp;to&nbsp;get&nbsp;the&nbsp;states&nbsp;of&nbsp;(tuple)<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;states:&nbsp;A&nbsp;list&nbsp;of&nbsp;states,&nbsp;where&nbsp;each&nbsp;state<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;conformations&nbsp;of&nbsp;the&nbsp;atom.&nbsp;(list)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-initHbondEnergy"><strong>initHbondEnergy</strong></a>(self, cluster, allatoms)</dt><dd><tt>Create&nbsp;a&nbsp;list&nbsp;of&nbsp;hydrogen&nbsp;donors/acceptors&nbsp;within&nbsp;this&nbsp;cluster<br>
and&nbsp;another&nbsp;list&nbsp;of&nbsp;donors/acceptors&nbsp;throughout&nbsp;the<br>
entire&nbsp;protein.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;cluster:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;list&nbsp;of&nbsp;group&nbsp;ids&nbsp;that&nbsp;are&nbsp;networked&nbsp;(list)<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;clusteratoms:&nbsp;A&nbsp;list&nbsp;of&nbsp;hydrogen&nbsp;donor/acceptor&nbsp;atoms&nbsp;in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;cluster&nbsp;(list)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-liststates"><strong>liststates</strong></a>(self)</dt><dd><tt>List&nbsp;the&nbsp;final&nbsp;results&nbsp;of&nbsp;all&nbsp;conformation/protonation<br>
ambiguities&nbsp;to&nbsp;stdout.</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-optimizeHydrogens"><strong>optimizeHydrogens</strong></a>(self)</dt><dd><tt>Optimize&nbsp;hydrogens&nbsp;according&nbsp;to&nbsp;HYDROGENS.DAT.&nbsp;&nbsp;This<br>
function&nbsp;serves&nbsp;as&nbsp;the&nbsp;main&nbsp;driver&nbsp;for&nbsp;the&nbsp;optimizing<br>
script.</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-optimizeSingle"><strong>optimizeSingle</strong></a>(self, amb)</dt><dd><tt>Use&nbsp;brute&nbsp;force&nbsp;optimization&nbsp;for&nbsp;a&nbsp;single&nbsp;ambiguity&nbsp;-&nbsp;try&nbsp;all<br>
energy&nbsp;configurations&nbsp;and&nbsp;pick&nbsp;the&nbsp;best.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;amb:&nbsp;&nbsp;The&nbsp;ambiguity&nbsp;object&nbsp;(tuple)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-optimizeWaters"><strong>optimizeWaters</strong></a>(self)</dt><dd><tt>Optimize&nbsp;the&nbsp;waters&nbsp;found&nbsp;in&nbsp;a&nbsp;protein</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-parseHydrogen"><strong>parseHydrogen</strong></a>(self, lines)</dt><dd><tt>Parse&nbsp;a&nbsp;list&nbsp;of&nbsp;lines&nbsp;in&nbsp;order&nbsp;to&nbsp;make&nbsp;a&nbsp;hydrogen<br>
definition<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines:&nbsp;&nbsp;The&nbsp;lines&nbsp;to&nbsp;parse&nbsp;(list)<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;mydef:&nbsp;&nbsp;The&nbsp;hydrogen&nbsp;definition&nbsp;object&nbsp;(<a href="#HydrogenDefinition">HydrogenDefinition</a>)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-printAmbiguities"><strong>printAmbiguities</strong></a>(self)</dt><dd><tt>Print&nbsp;the&nbsp;list&nbsp;of&nbsp;ambiguities&nbsp;to&nbsp;stdout</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-randomizeWaters"><strong>randomizeWaters</strong></a>(self)</dt><dd><tt>Randomize&nbsp;the&nbsp;waters&nbsp;found&nbsp;in&nbsp;a&nbsp;protein.&nbsp;Mimics&nbsp;the<br>
optimizeWaters&nbsp;function,&nbsp;but&nbsp;instead&nbsp;of&nbsp;going&nbsp;through<br>
all&nbsp;possible&nbsp;5&nbsp;degree&nbsp;increments,&nbsp;simply&nbsp;choose&nbsp;a&nbsp;random<br>
angle.</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-readHydrogenDefinition"><strong>readHydrogenDefinition</strong></a>(self)</dt><dd><tt>Read&nbsp;the&nbsp;Hydrogen&nbsp;Definition&nbsp;file<br>
&nbsp;<br>
Returns<br>
&nbsp;&nbsp;&nbsp;&nbsp;hydrodef:&nbsp;&nbsp;The&nbsp;hydrogen&nbsp;definition&nbsp;()</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-setWaterHydrogens"><strong>setWaterHydrogens</strong></a>(self, residue, newangle)</dt><dd><tt>Optimize&nbsp;a&nbsp;Water&nbsp;molecule<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;residue:&nbsp;&nbsp;The&nbsp;water&nbsp;residue<br>
&nbsp;&nbsp;&nbsp;&nbsp;newangle:&nbsp;The&nbsp;new&nbsp;chi&nbsp;angle&nbsp;(float)</tt></dd></dl>

<dl><dt><a name="hydrogenRoutines-switchstate"><strong>switchstate</strong></a>(self, states, amb, id)</dt><dd><tt>Switch&nbsp;a&nbsp;residue&nbsp;to&nbsp;a&nbsp;new&nbsp;state&nbsp;by&nbsp;first&nbsp;removing&nbsp;all<br>
hydrogens.<br>
&nbsp;<br>
Parameters<br>
&nbsp;&nbsp;&nbsp;&nbsp;states:&nbsp;The&nbsp;list&nbsp;of&nbsp;states&nbsp;(list)<br>
&nbsp;&nbsp;&nbsp;&nbsp;amb&nbsp;&nbsp;&nbsp;:&nbsp;The&nbsp;amibiguity&nbsp;to&nbsp;switch&nbsp;(tuple)<br>
&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;The&nbsp;state&nbsp;id&nbsp;to&nbsp;switch&nbsp;to&nbsp;(int)</tt></dd></dl>

<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__doc__</strong> = '<font color="#c040c0">\n</font>        The main class of routines in the hydrogen optimization process.<font color="#c040c0">\n</font>    '</dl>

<dl><dt><strong>__module__</strong> = 'hydrogens'</dl>

</td></tr></table></td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
    
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;&nbsp;</td>
<td width="100%"><dl><dt><a name="-acos"><strong>acos</strong></a>(...)</dt><dd><tt><a href="#-acos">acos</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;arc&nbsp;cosine&nbsp;(measured&nbsp;in&nbsp;radians)&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-asctime"><strong>asctime</strong></a>(...)</dt><dd><tt><a href="#-asctime">asctime</a>([tuple])&nbsp;-&gt;&nbsp;string<br>
&nbsp;<br>
Convert&nbsp;a&nbsp;time&nbsp;tuple&nbsp;to&nbsp;a&nbsp;string,&nbsp;e.g.&nbsp;'Sat&nbsp;Jun&nbsp;06&nbsp;16:26:11&nbsp;1998'.<br>
When&nbsp;the&nbsp;time&nbsp;tuple&nbsp;is&nbsp;not&nbsp;present,&nbsp;current&nbsp;time&nbsp;as&nbsp;returned&nbsp;by&nbsp;<a href="#-localtime">localtime</a>()<br>
is&nbsp;used.</tt></dd></dl>
 <dl><dt><a name="-asin"><strong>asin</strong></a>(...)</dt><dd><tt><a href="#-asin">asin</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;arc&nbsp;sine&nbsp;(measured&nbsp;in&nbsp;radians)&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-atan"><strong>atan</strong></a>(...)</dt><dd><tt><a href="#-atan">atan</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;arc&nbsp;tangent&nbsp;(measured&nbsp;in&nbsp;radians)&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-atan2"><strong>atan2</strong></a>(...)</dt><dd><tt><a href="#-atan2">atan2</a>(y,&nbsp;x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;arc&nbsp;tangent&nbsp;(measured&nbsp;in&nbsp;radians)&nbsp;of&nbsp;y/x.<br>
Unlike&nbsp;<a href="#-atan">atan</a>(y/x),&nbsp;the&nbsp;signs&nbsp;of&nbsp;both&nbsp;x&nbsp;and&nbsp;y&nbsp;are&nbsp;considered.</tt></dd></dl>
 <dl><dt><a name="-ceil"><strong>ceil</strong></a>(...)</dt><dd><tt><a href="#-ceil">ceil</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;ceiling&nbsp;of&nbsp;x&nbsp;as&nbsp;a&nbsp;float.<br>
This&nbsp;is&nbsp;the&nbsp;smallest&nbsp;integral&nbsp;value&nbsp;&gt;=&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-clock"><strong>clock</strong></a>(...)</dt><dd><tt><a href="#-clock">clock</a>()&nbsp;-&gt;&nbsp;floating&nbsp;point&nbsp;number<br>
&nbsp;<br>
Return&nbsp;the&nbsp;CPU&nbsp;time&nbsp;or&nbsp;real&nbsp;time&nbsp;since&nbsp;the&nbsp;start&nbsp;of&nbsp;the&nbsp;process&nbsp;or&nbsp;since<br>
the&nbsp;first&nbsp;call&nbsp;to&nbsp;<a href="#-clock">clock</a>().&nbsp;&nbsp;This&nbsp;has&nbsp;as&nbsp;much&nbsp;precision&nbsp;as&nbsp;the&nbsp;system&nbsp;records.</tt></dd></dl>
 <dl><dt><a name="-cos"><strong>cos</strong></a>(...)</dt><dd><tt><a href="#-cos">cos</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;cosine&nbsp;of&nbsp;x&nbsp;(measured&nbsp;in&nbsp;radians).</tt></dd></dl>
 <dl><dt><a name="-cosh"><strong>cosh</strong></a>(...)</dt><dd><tt><a href="#-cosh">cosh</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;hyperbolic&nbsp;cosine&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-ctime"><strong>ctime</strong></a>(...)</dt><dd><tt><a href="#-ctime">ctime</a>(seconds)&nbsp;-&gt;&nbsp;string<br>
&nbsp;<br>
Convert&nbsp;a&nbsp;time&nbsp;in&nbsp;seconds&nbsp;since&nbsp;the&nbsp;Epoch&nbsp;to&nbsp;a&nbsp;string&nbsp;in&nbsp;local&nbsp;time.<br>
This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;<a href="#-asctime">asctime</a>(<a href="#-localtime">localtime</a>(seconds)).&nbsp;When&nbsp;the&nbsp;time&nbsp;tuple&nbsp;is<br>
not&nbsp;present,&nbsp;current&nbsp;time&nbsp;as&nbsp;returned&nbsp;by&nbsp;<a href="#-localtime">localtime</a>()&nbsp;is&nbsp;used.</tt></dd></dl>
 <dl><dt><a name="-exp"><strong>exp</strong></a>(...)</dt><dd><tt><a href="#-exp">exp</a>(x)<br>
&nbsp;<br>
Return&nbsp;e&nbsp;raised&nbsp;to&nbsp;the&nbsp;power&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-fabs"><strong>fabs</strong></a>(...)</dt><dd><tt><a href="#-fabs">fabs</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;absolute&nbsp;value&nbsp;of&nbsp;the&nbsp;float&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-floor"><strong>floor</strong></a>(...)</dt><dd><tt><a href="#-floor">floor</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;floor&nbsp;of&nbsp;x&nbsp;as&nbsp;a&nbsp;float.<br>
This&nbsp;is&nbsp;the&nbsp;largest&nbsp;integral&nbsp;value&nbsp;&lt;=&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-fmod"><strong>fmod</strong></a>(...)</dt><dd><tt><a href="#-fmod">fmod</a>(x,y)<br>
&nbsp;<br>
Return&nbsp;<a href="#-fmod">fmod</a>(x,&nbsp;y),&nbsp;according&nbsp;to&nbsp;platform&nbsp;C.&nbsp;&nbsp;x&nbsp;%&nbsp;y&nbsp;may&nbsp;differ.</tt></dd></dl>
 <dl><dt><a name="-frexp"><strong>frexp</strong></a>(...)</dt><dd><tt><a href="#-frexp">frexp</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;mantissa&nbsp;and&nbsp;exponent&nbsp;of&nbsp;x,&nbsp;as&nbsp;pair&nbsp;(m,&nbsp;e).<br>
m&nbsp;is&nbsp;a&nbsp;float&nbsp;and&nbsp;e&nbsp;is&nbsp;an&nbsp;int,&nbsp;such&nbsp;that&nbsp;x&nbsp;=&nbsp;m&nbsp;*&nbsp;2.**e.<br>
If&nbsp;x&nbsp;is&nbsp;0,&nbsp;m&nbsp;and&nbsp;e&nbsp;are&nbsp;both&nbsp;0.&nbsp;&nbsp;Else&nbsp;0.5&nbsp;&lt;=&nbsp;abs(m)&nbsp;&lt;&nbsp;1.0.</tt></dd></dl>
 <dl><dt><a name="-gmtime"><strong>gmtime</strong></a>(...)</dt><dd><tt><a href="#-gmtime">gmtime</a>([seconds])&nbsp;-&gt;&nbsp;(tm_year,&nbsp;tm_mon,&nbsp;tm_day,&nbsp;tm_hour,&nbsp;tm_min,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tm_sec,&nbsp;tm_wday,&nbsp;tm_yday,&nbsp;tm_isdst)<br>
&nbsp;<br>
Convert&nbsp;seconds&nbsp;since&nbsp;the&nbsp;Epoch&nbsp;to&nbsp;a&nbsp;time&nbsp;tuple&nbsp;expressing&nbsp;UTC&nbsp;(a.k.a.<br>
GMT).&nbsp;&nbsp;When&nbsp;'seconds'&nbsp;is&nbsp;not&nbsp;passed&nbsp;in,&nbsp;convert&nbsp;the&nbsp;current&nbsp;time&nbsp;instead.</tt></dd></dl>
 <dl><dt><a name="-hypot"><strong>hypot</strong></a>(...)</dt><dd><tt><a href="#-hypot">hypot</a>(x,y)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;Euclidean&nbsp;distance,&nbsp;<a href="#-sqrt">sqrt</a>(x*x&nbsp;+&nbsp;y*y).</tt></dd></dl>
 <dl><dt><a name="-ldexp"><strong>ldexp</strong></a>(...)</dt><dd><tt><a href="#-ldexp">ldexp</a>(x,&nbsp;i)&nbsp;-&gt;&nbsp;x&nbsp;*&nbsp;(2**i)</tt></dd></dl>
 <dl><dt><a name="-localtime"><strong>localtime</strong></a>(...)</dt><dd><tt><a href="#-localtime">localtime</a>([seconds])&nbsp;-&gt;&nbsp;(tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)<br>
&nbsp;<br>
Convert&nbsp;seconds&nbsp;since&nbsp;the&nbsp;Epoch&nbsp;to&nbsp;a&nbsp;time&nbsp;tuple&nbsp;expressing&nbsp;local&nbsp;time.<br>
When&nbsp;'seconds'&nbsp;is&nbsp;not&nbsp;passed&nbsp;in,&nbsp;convert&nbsp;the&nbsp;current&nbsp;time&nbsp;instead.</tt></dd></dl>
 <dl><dt><a name="-log"><strong>log</strong></a>(...)</dt><dd><tt><a href="#-log">log</a>(x)&nbsp;-&gt;&nbsp;the&nbsp;natural&nbsp;logarithm&nbsp;(base&nbsp;e)&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-log10"><strong>log10</strong></a>(...)</dt><dd><tt><a href="#-log10">log10</a>(x)&nbsp;-&gt;&nbsp;the&nbsp;base&nbsp;10&nbsp;logarithm&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-mktime"><strong>mktime</strong></a>(...)</dt><dd><tt><a href="#-mktime">mktime</a>(tuple)&nbsp;-&gt;&nbsp;floating&nbsp;point&nbsp;number<br>
&nbsp;<br>
Convert&nbsp;a&nbsp;time&nbsp;tuple&nbsp;in&nbsp;local&nbsp;time&nbsp;to&nbsp;seconds&nbsp;since&nbsp;the&nbsp;Epoch.</tt></dd></dl>
 <dl><dt><a name="-modf"><strong>modf</strong></a>(...)</dt><dd><tt><a href="#-modf">modf</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;fractional&nbsp;and&nbsp;integer&nbsp;parts&nbsp;of&nbsp;x.&nbsp;&nbsp;Both&nbsp;results&nbsp;carry&nbsp;the&nbsp;sign<br>
of&nbsp;x.&nbsp;&nbsp;The&nbsp;integer&nbsp;part&nbsp;is&nbsp;returned&nbsp;as&nbsp;a&nbsp;real.</tt></dd></dl>
 <dl><dt><a name="-pow"><strong>pow</strong></a>(...)</dt><dd><tt><a href="#-pow">pow</a>(x,y)<br>
&nbsp;<br>
Return&nbsp;x**y&nbsp;(x&nbsp;to&nbsp;the&nbsp;power&nbsp;of&nbsp;y).</tt></dd></dl>
 <dl><dt><a name="-sin"><strong>sin</strong></a>(...)</dt><dd><tt><a href="#-sin">sin</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;sine&nbsp;of&nbsp;x&nbsp;(measured&nbsp;in&nbsp;radians).</tt></dd></dl>
 <dl><dt><a name="-sinh"><strong>sinh</strong></a>(...)</dt><dd><tt><a href="#-sinh">sinh</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;hyperbolic&nbsp;sine&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-sleep"><strong>sleep</strong></a>(...)</dt><dd><tt><a href="#-sleep">sleep</a>(seconds)<br>
&nbsp;<br>
Delay&nbsp;execution&nbsp;for&nbsp;a&nbsp;given&nbsp;number&nbsp;of&nbsp;seconds.&nbsp;&nbsp;The&nbsp;argument&nbsp;may&nbsp;be<br>
a&nbsp;floating&nbsp;point&nbsp;number&nbsp;for&nbsp;subsecond&nbsp;precision.</tt></dd></dl>
 <dl><dt><a name="-sqrt"><strong>sqrt</strong></a>(...)</dt><dd><tt><a href="#-sqrt">sqrt</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;square&nbsp;root&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-strftime"><strong>strftime</strong></a>(...)</dt><dd><tt><a href="#-strftime">strftime</a>(format[,&nbsp;tuple])&nbsp;-&gt;&nbsp;string<br>
&nbsp;<br>
Convert&nbsp;a&nbsp;time&nbsp;tuple&nbsp;to&nbsp;a&nbsp;string&nbsp;according&nbsp;to&nbsp;a&nbsp;format&nbsp;specification.<br>
See&nbsp;the&nbsp;library&nbsp;reference&nbsp;manual&nbsp;for&nbsp;formatting&nbsp;codes.&nbsp;When&nbsp;the&nbsp;time&nbsp;tuple<br>
is&nbsp;not&nbsp;present,&nbsp;current&nbsp;time&nbsp;as&nbsp;returned&nbsp;by&nbsp;<a href="#-localtime">localtime</a>()&nbsp;is&nbsp;used.</tt></dd></dl>
 <dl><dt><a name="-strptime"><strong>strptime</strong></a>(...)</dt><dd><tt><a href="#-strptime">strptime</a>(string,&nbsp;format)&nbsp;-&gt;&nbsp;tuple<br>
&nbsp;<br>
Parse&nbsp;a&nbsp;string&nbsp;to&nbsp;a&nbsp;time&nbsp;tuple&nbsp;according&nbsp;to&nbsp;a&nbsp;format&nbsp;specification.<br>
See&nbsp;the&nbsp;library&nbsp;reference&nbsp;manual&nbsp;for&nbsp;formatting&nbsp;codes&nbsp;(same&nbsp;as&nbsp;<a href="#-strftime">strftime</a>()).</tt></dd></dl>
 <dl><dt><a name="-tan"><strong>tan</strong></a>(...)</dt><dd><tt><a href="#-tan">tan</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;tangent&nbsp;of&nbsp;x&nbsp;(measured&nbsp;in&nbsp;radians).</tt></dd></dl>
 <dl><dt><a name="-tanh"><strong>tanh</strong></a>(...)</dt><dd><tt><a href="#-tanh">tanh</a>(x)<br>
&nbsp;<br>
Return&nbsp;the&nbsp;hyperbolic&nbsp;tangent&nbsp;of&nbsp;x.</tt></dd></dl>
 <dl><dt><a name="-time"><strong>time</strong></a>(...)</dt><dd><tt><a href="#-time">time</a>()&nbsp;-&gt;&nbsp;floating&nbsp;point&nbsp;number<br>
&nbsp;<br>
Return&nbsp;the&nbsp;current&nbsp;time&nbsp;in&nbsp;seconds&nbsp;since&nbsp;the&nbsp;Epoch.<br>
Fractions&nbsp;of&nbsp;a&nbsp;second&nbsp;may&nbsp;be&nbsp;present&nbsp;if&nbsp;the&nbsp;system&nbsp;clock&nbsp;provides&nbsp;them.</tt></dd></dl>
</td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;&nbsp;</td>
<td width="100%"><strong>AAFILE</strong> = 'AA.DAT'<br>
<strong>AAS</strong> = ['ALA', 'ARG', 'ASN', 'ASP', 'CYS', 'GLN', 'GLU', 'GLH', 'GLY', 'HIS', 'HID', 'HIE', 'HIP', 'HSD', 'HSE', 'HSP', 'ILE', 'LEU', 'LYS', 'MET', ...]<br>
<strong>AMBER_FILE</strong> = 'AMBER.DAT'<br>
<strong>BACKBONE</strong> = ['N', 'CA', 'C', 'O', 'O2', 'HA', 'HN', 'H', 'tN']<br>
<strong>BONDED_SS_LIMIT</strong> = 2.5<br>
<strong>BUMP_DIST</strong> = 2.0<br>
<strong>BUMP_HDIST</strong> = 1.5<br>
<strong>CELL_SIZE</strong> = 2<br>
<strong>CHARMM_FILE</strong> = 'CHARMM.DAT'<br>
<strong>DIHEDRAL</strong> = 57.2958<br>
<strong>HACCEPTOR</strong> = [0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0]<br>
<strong>HDONOR</strong> = [0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1]<br>
<strong>HYDROGENFILE</strong> = 'HYDROGENS.DAT'<br>
<strong>HYDROGEN_DIST</strong> = 6.0<br>
<strong>HYDRO_BONDCOORDS</strong> = [[7.5810000000000004, 2.0899999999999999, 12.506], [6.4580000000000002, 2.1619999999999999, 13.159000000000001], [5.1449999999999996, 2.2090000000000001, 12.452999999999999]]<br>
<strong>HYDRO_COORDS</strong> = [6.476, 2.1859999999999999, 14.159000000000001]<br>
<strong>LARGE_TORSION_ANGLE</strong> = 1000.0<br>
<strong>NAFILE</strong> = 'NA.DAT'<br>
<strong>NAS</strong> = ['A', 'A5', 'A3', 'C', 'C5', 'C3', 'G', 'G5', 'G3', 'T', 'T5', 'T3', 'U', 'U5', 'U3']<br>
<strong>NTERM2_COORDS</strong> = [-24.001000000000001, 50.223999999999997, -22.225999999999999]<br>
<strong>NTERM3_COORDS</strong> = [-24.869, 48.845999999999997, -22.77]<br>
<strong>NTERM_COORDS</strong> = [[-24.196000000000002, 48.789999999999999, -20.800000000000001], [-25.552, 49.881, -21.847999999999999], [-24.645, 49.491, -22.007000000000001]]<br>
<strong>OXT_COORDS</strong> = [-1.5289999999999999, 1.8580000000000001, 0.69499999999999995]<br>
<strong>PARSE_FILE</strong> = 'PARSE.DAT'<br>
<strong>PEPTIDE_DIST</strong> = 1.7<br>
<strong>PEP_TRANS_CA</strong> = [-2.3130000000000002, 2.7839999999999998, 1.0229999999999999]<br>
<strong>PEP_TRANS_N</strong> = [-1.252, 1.877, 0.88300000000000001]<br>
<strong>REFATOM_SIZE</strong> = 3<br>
<strong>REPAIR_LIMIT</strong> = 10<br>
<strong>ROTAMERFILE</strong> = 'ROTAMER.DAT'<br>
<strong>SMALL</strong> = 9.9999999999999995e-08<br>
<strong>WATER_DIST</strong> = 4.0<br>
<strong>__author__</strong> = 'Jens Erik Nielsen, Todd Dolinsky'<br>
<strong>__date__</strong> = '8 March 2004'<br>
<strong>__file__</strong> = './hydrogens.pyc'<br>
<strong>__name__</strong> = 'hydrogens'<br>
<strong>accept2dyear</strong> = 1<br>
<strong>altzone</strong> = 18000<br>
<strong>daylight</strong> = 1<br>
<strong>e</strong> = 2.7182818284590451<br>
<strong>pi</strong> = 3.1415926535897931<br>
<strong>timezone</strong> = 21600<br>
<strong>tzname</strong> = ('CST', 'CDT')</td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
    
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;&nbsp;</td>
<td width="100%">Jens&nbsp;Erik&nbsp;Nielsen,&nbsp;Todd&nbsp;Dolinsky</td></tr></table>
</body></html>